export declare class Node { data: T; left: Node; right: Node; constructor(data: T, left?: Node, right?: Node); } export declare class BST { root: Node; constructor(root?: Node); add(data: T): void; findMin(): T; findMax(): T; find(data: T): Node; isPresent(data: T): boolean; remove(data: T): void; isBalanced(): boolean; findMinHeight(node?: Node): number; findMaxHeight(node?: Node): number; inOrder(): Array; preOrder(): Array; postOrder(): Array; levelOrder(): Array; layers(): Array; invert(): void; elementHeight(data: T): number; elementDepth(data: T): number; }